import Vue from 'vue'
import Vuex from 'vuex'

import  vuexPersist from  'vuex-persistedstate';

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    list:[]
  },
  mutations: {
    info(state,arr){
    //  arr.forEach(item => {
    //     item.ischeck = false
    //     state.list.push(item);
    //   })
      // console.log(arr1);

      
      // map 函数 用作数组的循环，map 是有返回值的，forEach 没有
      // let obj = {name:'张三'}
      // let obj1 = {age:18}
      // let obj2 = {...obj,...obj1}
      // console.log(obj2);
      state.list = arr.map(item => {
        return {
          ...item,
          ...{ischeck:false}
        }
      })
    },
    del(state){ // 选中删除的函数
      state.list = state.list.filter(item => !item.ischeck);
    },
    status(state,id){ // 状态改变触发的方法

      // state 状态 0 未付款 ，1 已付款，2 已发货 3。已完成
      state.list.forEach(item => {
        if (item.id == id){
          item.state = item.state == 3?0:item.state+1;
        }
      })
    }
  },
  actions: {
  },
  modules: {
  },
  plugins:[
    new vuexPersist({
      storage: window.localStorage
    })
  ]
})
